﻿using CommandProcessor.Command;
using Data.Models;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Domain.Commands
{
    //Dung cho du lieu tham chieu
    public class CreateOrUpdateWorkplaceCommand : Workplace, ICommand
    {
    }
    public class DeleteWorkplaceCommand : Workplace, ICommand
    {
    }
    public class CreateOrUpdateEmployeeCommand : Employee, ICommand
    {
    }
    public class DeleteEmployeeCommand : Employee, ICommand
    {
    }
    public class CreateOrUpdateUnitCommand : Unit, ICommand
    {
    }
    public class DeleteUnitCommand : Unit, ICommand
    {
    }
    
    //Dung cho lenh san xuat
    public class CreateOrUpdateOrderCommand : Order, ICommand
    {
    }
    public class DeleteOrderCommand : Order, ICommand
    {
    }
    public class CreateOrUpdateMaterialDetailCommand : MaterialDetail, ICommand
    {
    }
    public class DeleteMaterialDetailCommand : MaterialDetail, ICommand
    {
    }
    public class CreateOrUpdateLabourDetailCommand : LabourDetail, ICommand
    {
    }
    public class DeleteLabourDetailCommand : LabourDetail, ICommand
    {
    }
    public class CreateOrUpdateToolDetailCommand : ToolDetail, ICommand
    {
    }
    public class DeleteToolDetailCommand : ToolDetail, ICommand
    {
    }
    public class CreateOrUpdateOtherCostDetailCommand : OtherCostDetail, ICommand
    {
    }
    public class DeleteOtherCostDetailCommand : OtherCostDetail, ICommand
    {
    }

    //Dung cho thuc hien san xuat
    public class CreateOrUpdateOrderProcessCommand : OrderProcess, ICommand
    {
    }
    public class DeleteOrderProcessCommand : OrderProcess, ICommand
    {
    }
    public class CreateOrUpdateSubprocessDetailCommand : SubprocessDetail, ICommand
    {
    }
    public class DeleteSubprocessDetailCommand : SubprocessDetail, ICommand
    {
    }
    public class CreateOrUpdateCostDetailCommand : CostDetail, ICommand
    {
    }
    public class DeleteCostDetailCommand : CostDetail, ICommand
    {
    }

    //Dung cho ket thuc san xuat
    public class CreateOrUpdateOrderSummaryCommand : OrderSummary, ICommand
    {
    }
    public class DeleteOrderSummaryCommand : OrderSummary, ICommand
    {
    }
    public class CreateOrUpdateStorageDetailCommand : StorageDetail, ICommand
    {
    }
    public class DeleteStorageDetailCommand : StorageDetail, ICommand
    {
    }
    public class CreateOrUpdateBillOutCommand : BillOut, ICommand
    {
    }
    public class DeleteBillOutCommand : BillOut, ICommand
    {
    }
    public class CreateOrUpdateBillDetailCommand : BillDetail, ICommand
    {
    }
    public class DeleteBillDetailCommand : BillDetail, ICommand
    {
    }
}
